The present invention relates to a method and apparatus for searching a database and is applicable in particular to databases which contain a multiplicity of memory entries where each memory entry is made up of one or more alphanumeric characters.
A common feature of modem telephones, both cellular and land-line, is the provision of an electronic phonebook or database which contains a list of phonebook entries, each entry comprising a telephone number and identification details, e.g. name and address, associated with the number. Typically, the user is able to scroll through this list on a display of the telephone to select a desired one of the entries. By then pressing a call activation key, the user is able to automatically dial the telephone number of the selected entry.
When a large number of entries are stored in an electronic phonebook, the search method described above becomes relatively time consuming, e.g. if a user wishes to locate the number belonging to a name which begins with the letter xe2x80x9cpxe2x80x9d, then it is necessary to scroll through many entries in the phonebook before that name and number are found.
Several methods have been implemented in cellular telephones to allow a user to quickly focus a search on a particular portion of a stored electronic phonebook. One commonly used method involves a user entering one or more characters, present at the beginning of the name for which he is searching, into the memory of the phone. The entered character or characters define a search xe2x80x9ctemplatexe2x80x9d and, after the user has pressed an xe2x80x9cactionxe2x80x9d key, all of those names which begin with a data string matching the search template, are provided to the telephone""s display. The user can scroll through the matched names to select the required name.
In a modification to the above search method, following entry of each individual character, the phonebook is automatically searched to identify those names which begin with a data string matching the search template so far defined. As each new character is entered by the user, the displayed list is automatically focused in accordance with the new template. At any time, the user can scroll through the currently displayed list to select one of the displayed names.
It will be appreciated that the search methods discussed above require the provision of a set of alphanumeric keys by means of which a user can define the search template. However, in some cases, alphanumeric keys may not be provided on the telephone in order to reduce the size of the device. In other cases, alphanumeric keys may be covered by a flap or other cover in the normal use condition of the phone. It is of course impossible to employ the above described search method with the former type of phone, whilst it is often inconvenient to employ it with the latter.
It is an object of the present invention to provide a method and apparatus for searching an electronic database containing a multiplicity of memory entries, and which does not require the use of alphanumeric data entry keys to perform the searching method.
According to a first aspect of the present invention there is provided a method of searching an electronic database containing a multiplicity of memory entries, each memory entry being made up of one or more data characters, the method comprising the steps of:
(a) defining a search template containing at least one character;
(b) identifying the set of distinct data strings, present at the beginning of memory entries, which commence with said template and which differ from one another by only their final character;
(c) selecting one of said set of data strings and defining the selected string as a new search template; and either
(d) identifying the or each memory entry commencing with the new template; or
(e) repeating the method from step (b) using the new template.
The method of the present invention allows a specific entry, in an electronic database, to be located simply and quickly without necessarily using alphanumeric keys. Moreover, users may learn to use the method quickly and no detailed training process is required.
Preferably, step (a) comprises displaying on a display a list of characters and selecting one character from the displayed list as an initial search template. The list of characters is preferably a list of the alphabet. More preferably, said selection is made by scrolling through the displayed list until a desired character is identified.
Preferably, step (b) comprises providing the identified data strings to a display, and displaying the data strings as a scrollable list. Step (c) may then comprise selecting said one data string by scrolling through the list of data strings until the desired string is identified. Where one of said distinct data strings identified in step (b) is present in only one of the memory entries, that data string may be extended on the display such that the entire memory entry, or that much of the entry which can be displayed, is displayed. For those data strings which are present in more than one memory entry, an indication of this property may be displayed on the display beside these data strings.
Preferably, step (d) is performed when the number of memory entries commencing with the search template is less than a predefined number, e.g. six. If the number of entries commencing with the search template is equal to or greater than this predefined number, then step (e) is performed.
The method of the present invention is applicable in particular, though not necessarily, to the searching of an electronically stored phonebook, where each memory entry comprises an identifier such as a name and a telephone number is associated with each memory entry.
According to a second aspect of the present invention there is provided apparatus comprising:
an electronic memory for storing a multiplicity of memory entries, where each memory entry is made up of one or more data characters;
at least one user actuatable key for allowing a user to define a search template containing at least one character;
processing means for identifying the set of distinct data strings, present at the beginning of stored memory entries, which commence with said template and which differ from one another by only their final character;
an electronic display for displaying said set of data strings as a scrollable list;
at least one user actuatable key for enabling a user to select a data string from said list,
said processing means being arranged in use to define the user selected string as a new search template.
Preferably, the processing means, which may be a microprocessor or the like, is arranged to repeat the identification of distinct data strings using the new search template. The user is in this way able to focus the search in a stepwise manner.
Preferably, the apparatus comprises at least one scroll key which allows a user to scroll backwards and forwards through the list of displayed distinct data strings. A further key may be provided for selecting one of said data strings as the new search template.
The apparatus according to the second aspect of the present invention may be a mobile telephone, combined mobile telephone/personal digital assistant, or similar mobile communications apparatus, in which the memory entries together provide an electronic phonebook. Alternatively, the apparatus may be a personal digital assistant or notebook computer.